'use strict'

define([ 'jquery', 'bootstrap', 'select2', 'shiftform', 'validate', 'validate.en' ], function($) {
  
  return {
    init : function() {
      this.initPage();
      this.initCreate();
      this.initEdit();
      this.initDelete();
    },
  
    initPage: function() {
    	$('select[name="courseId"]').select2({
    	  theme: "classic",
    	  placeholder : '所属课程',
    	  minimumResultsForSearch : -1,
    	  allowClear : true,
    	});
    },
    
    initCreate: function() {
      $(document).on('shown.bs.modal', '#add', function(e){
  
        $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
        
        var $form = $(e.currentTarget).find("form")              //bind shiftform
        $form.shiftform({
          beforeSubmit : function(el) {
            $form.trigger("validate.ajax.submit");
            return $.bt_validate.result[$.bt_validate.form_id]
          }
        })
      })
    },
    
    initEdit: function() {
      $(document).on('shown.bs.modal', '#edit', function(e){
  
        $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
        
        var $form = $(e.currentTarget).find("form")              //bind shiftform
        $form.shiftform({
          beforeSubmit : function(el) {
            $form.trigger("validate.ajax.submit");
            return $.bt_validate.result[$.bt_validate.form_id]
          }
        })
      })
    },
    
    initDelete: function() {
      $(document).on('shown.bs.modal', '#delete', function(e){
  
        $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
        
        var $form = $(e.currentTarget).find("form")              //bind shiftform
        $form.shiftform({
          beforeSubmit : function(el) {
            $form.trigger("validate.ajax.submit");
            return $.bt_validate.result[$.bt_validate.form_id]
          }
        })
      })
    }

  }
})
